package com.sikaryofficial.backend.domain.dto.resp.points;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.sikaryofficial.common.core.annotation.LocalDateTimeFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.io.Serializable;
import java.util.Date;

/**
 * 积分流水对象DTO
 *
 * @author qinjinyuan
 * @date 2023-10-30
 */
@ApiModel(description = "积分流水对象DTO")
@Getter
@Setter
@ToString
public class PointsDetailResp implements Serializable {
    @ApiModelProperty(hidden = true)
    private static final long serialVersionUID = 1L;
    /**
     * 积分流水ID
     */
    @ApiModelProperty("积分流水ID")
    private Long pointsDetailId;
    /**
     * 积分值
     */
    @ApiModelProperty("积分值")
    private Integer pointsDetailValue;

    /**
     * 积分增量
     */
    @ApiModelProperty("积分增量")
    private String pointsDelta;

    /**
     * 积分来源:scan_code-扫码;sign_in-签到;evaluate-评价;share_store-分享门店;reserve_purchase-预约抢购;reserve_lottery-预约抽奖;
     */
    @ApiModelProperty("积分来源:scan_code-扫码;sign_in-签到;evaluate-评价;share_store-分享门店;reserve_purchase-预约抢购;reserve_lottery-预约抽奖;")
    private String sourceCode;

    @ApiModelProperty(hidden = true)
    private String sourceCodeDesc;
    /**
     * 积分来源名称
     */
    @ApiModelProperty("积分来源名称")
    private String sourceName;

    /**
     * 积分获取来源名称
     */
    @ApiModelProperty("积分获取来源名称")
    private String sourcePath;

    /**
     * 积分操作 0-增加 1-扣减
     */
    @ApiModelProperty("积分操作 0-增加 1-扣减")
    private Integer opt;

    @ApiModelProperty(hidden = true)
    private String optDesc;
    /**
     * 创建人
     */
    @ApiModelProperty("创建人")
    @JsonIgnore
    private Long createdBy;

    /**
     * 记录发生的年月
     */
    @ApiModelProperty("记录发生的年月")
    private String yearMonth;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    @LocalDateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdTime;
}
